The present invention relates to a method for carrying out cyclic and conflict-free data communication for the subscribers of a data bus, which transmits data in non-overlapping time periods within a subscriber cycle interval and processes jobs, and whose fixed transmission time slots in a planning phase are allocated within the subscriber cycle interval.
Time-driven data buses are finding increased application in motor vehicles and other means of transport (aircraft, trains, and ships, for example). In contrast to event-driven data buses, they are preferably used in cases where security-relevant data are to be exchanged between control devices at regular intervals with high reliability and low fluctuation over time (jitter). A major advantage of time-driven data buses with regard to ensuring such characteristics is that a continuous occupation of the data bus, resulting from malfunction of a control device, for example, is prevented.
DE 102 00 201 A1 discloses a method for communication to various subscribers via a time-driven data bus. In the method, the subscribers send messages cyclically in fixed transmission time slots via the data bus. The time period for transmitting a message, referred to below as “subscriber cycle time,” may be identical to the bus cycle time, i.e., the length of a bus cycle interval. However, a transmission time slot may also be used in different bus cycle intervals by different subscribers, thereby increasing the subscriber cycle time compared to the bus cycle time. According to the prior art, the subscriber cycle time may also be reduced when multiple transmission time slots within a bus cycle interval are occupied by the same message.
According to the prior art, for a time interval in which all messages transmitted via the data bus are repeated, a scheduling process specifies a system-wide sequence (schedule) in which the functional dependencies of all subscribers are taken into account, and all subscribers communicate in each strictly specified transmission time slot via the data bus in a conflict-free manner. In this scheduling process the application time periods are also specified in coordination with the transmission time slots. The configuration of the control devices for the particular application time periods may be absolute with respect to time, or may be relative, based on the transmission time slots.
Such a specification often creates a close interlinking between transmission time slots and application time periods for multiple subscribers. This interlinking results in a strong temporal dependency between the applications for various subscribers. Functional modifications or replacement of a control device may require that the schedule be changed. As a result of the temporal dependency, such schedule changes often apply not just to individual subscribers, but to multiple subscribers that are linked to one another by a causal chain. Thus, a single functional modification may affect multiple subscribers and control devices.
In the development divisions of many industrial sectors such as the automotive industry, where any change to safety-relevant applications is subject to strict controls, every modification to a device entails an extensive certification process. The time required to complete each certification process represents a waiting period within the development process, and generally results in prolonged development time and increased development costs for a device and for components which depend on this device.
As described above, when the communication and the application are closely coupled together in a bus system, as in the prior art, the modification of a control device frequently makes it necessary to change other control devices having certification requirements. In addition, the usability of a certified control device is generally limited by the methods according to the prior art to a single bus system. If a control device is to be used in various bus systems and functionally integrated therein, as a rule the same transmission time slots cannot be assigned to the control device in all bus systems. According to the prior art, this results in generally different application time periods for the subscribers which are in different bus systems and associated with this control device. Each of the different variants which results must go through its own certification process.
Exemplary embodiments of the invention provide a method by which the number of required certification measures is reduced in conjunction with the replacement and modification of individual control devices of a time-driven data bus.
This is achieved by exemplary embodiments of the present invention by decoupling the schedule of various subscribers by the systematic use of time reserves. This is accomplished by independently specifying the transmission time slot and application time periods for each individual subscriber in disjunct (i.e., non-overlapping) function-driven time intervals. Transmission time slots and application time periods may then be flexibly specified and modified within these function-driven time intervals without influencing one another.
An advantage of exemplary embodiments of the present invention is that as the result of this decoupling of transmission and application times, a control device remains unaffected by modifications to other control devices, provided that these modifications take place within the respective function-driven time intervals. The majority of functional modifications during the development process of a distributed bus system have an effect, i.e., only on a single device, by use of exemplary embodiments of the present invention. Likewise, by use of exemplary embodiments of the present invention a certified control device may be flexibly introduced into various bus systems without the need for reconfiguration. The number of required certification measures may be significantly reduced as a result of these two referenced factors. In many cases, this reduction significantly decreases both the time and the costs for developing time-driven bus systems.
In accordance with exemplary embodiments of the present invention the data communication occurs via a time-driven data bus within cyclically repeating bus cycle intervals. The length of these bus cycle intervals is referred to below as “bus cycle time.” The bus cycle interval is divided into individual transmission time slots for the exact specification of time periods for message exchange within the bus cycle interval.
Various control devices used for controlling, regulating, or monitoring engine, safety, or comfort features are typically connected to such a time-driven data bus. The control devices exchange messages via the data bus in cyclical sequences and process these messages. The communication characteristics of a control device on a time-driven data bus often include the cyclical reception and transmission of more than one message. Frequently, for example, in a first step a message is received, in a second step the contents of the received message are processed, and in a third step the results of the processing are sent as a message. It is common for a single control device to also take part in multiple causal sequences of this type.
In the following discussion it is assumed from the outset that a control device includes one or more logical subscribers, in which a transmission process and processing of a task alternate and cyclically repeat. It is also assumed from the outset that the transmission process and the task processing take place in different time periods. Thus, the transmission time slots for a subscriber do not overlap with the subscriber's application time periods.
Thus, the processing of various tasks by a control device is distributed over the logical subscribers in such a way that each logical subscriber requires a contiguous time period for its task processing. A time period is likewise provided for the transmission process. By definition, any given number of messages may be transmitted in this time period. The practical implementation of this described subject matter and the extension of the principle of the invention to cases that do not conform to this definition are addressed further below.
A subscriber cycle time is specified for each subscriber according to the requirements for the frequency of the subscriber's communication or task processing. In principle, this subscriber cycle time may be a multiple or also a fraction of the bus cycle time. Idle times are frequently introduced into causal sequences due to the resolution of the close temporal interlinking of transmission time slots and application time periods associated with exemplary embodiments of the present invention. However, these idle times may be kept within functionally tolerable limits by appropriate choice of the subscriber cycle time.
Within a subscriber cycle interval having the length of the subscriber cycle time, according to exemplary embodiments of the present invention two disjunct function-driven time intervals are present, one of which, a transmission time interval, is provided exclusively for transmitting messages by the subscriber, and the other, an application time interval, is provided exclusively for task processing for the subscriber. It is assumed from the outset that the combined duration of both function-driven time intervals spans the entire subscriber cycle interval. For this case, in principle the definition of a single time interval is also sufficient, since the second time interval automatically results from the subscriber cycle interval minus the first time interval. To allow subsequent deviations from the limitation made here to be addressed in the same manner, however, the definition of two function-driven time intervals will be adhered to.
The following prerequisites should be taken into account for specifying the function-driven time intervals:                The length of the transmission time slots required by each subscriber for fulfilling the subscriber's required tasks is assumed to be known in a subscriber cycle interval. The length of the transmission time interval is selected to be at least large enough that transmission time slots of this length fit therein.        The length of the time period for task processing required by each subscriber for fulfilling the subscriber's required tasks is likewise assumed to be known in a subscriber cycle interval. The length of the application time interval is selected to be at least large enough that a time period of this length fits therein.        From the standpoint of a subscriber, the function-driven time intervals within the subscriber cycle interval should be specified so that the subscriber can fulfill its required task in the bus system when the location of the subscriber's transmission time slots within the transmission time interval and the location of the application time period within the application time interval are flexibly selected.        All subscriber cycle times and transmission time intervals should be specified such that in principle it is possible to plan all transmission time slots, both on the data bus and within the transmission time interval, for the respective subscriber without conflicts.        
If the application time interval for a subscriber is greater than the length of the application time period, there is a time reserve for modifying the subscriber's application. If the transmission time interval for a subscriber is selected to be greater than the length of the transmission time slots, this results in greater flexibility in the global transmission time scheduling. If all of the above-referenced conditions are satisfied for various lengths of transmission time and application time intervals, a choice should be made as to which of the referenced advantages should be maximized, by selecting the application time interval or the transmission time interval to be as large as possible.
In a planning phase, first a system-wide (global) transmission time scheduler selects the transmission time slots for all subscribers such that the transmission time slots for a subscriber are within the respective transmission time interval and the transmission time slots for all subscribers are specified on the data bus without conflicts.
The result of the transmission time scheduling, i.e., the assignment of transmission time slots to the individual subscribers (slot assignment table), is communicated to the subscribers in a subsequent initializing phase. By definition, all subscribers can fulfill their required task when transmission time slots within the respective transmission time interval are assigned to the subscribers. This is ensured by the described scheduling process.
The application time periods are independent of the assigned transmission time slots as a result of the division into disjunct, function-driven time intervals. The application scheduling within the application time interval thus affects only the respective subscriber, and therefore can be performed by this subscriber itself (locally).
If a control device is designed in such a way that it does not have to be configured for the exact transmission time slots specified by the transmission time scheduler, but instead is available for transmission at any given time within a transmission time interval, modifications to the transmission time scheduling or a new sequence for the planning phase do not require modifications per se to the subscribers themselves. Only subscribers whose application has been modified in content need be altered and, if needed, recertified. This is also generally the case when the content of exchanged messages is modified for all involved subscribers, since a modification of the communication content also affects the application for the respective subscribers.
The time span between the end of task processing and the start of transmission time slots for a subscriber may vary due to the decoupled specification of transmission time slots and application time periods. This does not represent a technical problem if the data to be transmitted by the sending subscriber, for example at the end of task processing, are thus transferred to a transmitter unit no later than the end of the application time interval, and in turn no later than the start of the transmission time interval.
The advantages resulting from exemplary embodiments of the present invention for the development and flexible use of control devices for time-driven data buses are described below.
A first advantage of exemplary embodiments of the present invention is that temporal changes in the application or transmission behavior of a subscriber do not affect other subscribers, provided that the changes take place within the particular function-driven time intervals, and all requirements referenced in specifying the function-driven time intervals are also satisfied after the change. The reason for such changes may be that the task processing time previously provided for individual subscribers is no longer adequate for fulfilling the particular task, or that larger quantities of data must be transferred, thus requiring a greater number of transmission time slots than previously provided. After such a modification to a subscriber, it is necessary only to specify new transmission time slots in a new planning phase, and to communicate these to the subscribers in a new initializing phase. No changes to other subscribers and control devices are necessary.
A further advantage of exemplary embodiments of the present invention is that certified control devices may be used without modification in various bus systems, provided that all requirements referenced in specifying the function-driven time intervals are satisfied for each bus system. According to exemplary embodiments of the present invention, introduction of a control device into a bus system requires only that, likewise, transmission time slots be specified in a planning phase, and that these be communicated to the subscribers in an initializing phase. It is not necessary to make changes to any of the control devices.
In addition, according to exemplary embodiments of the present invention certified control devices may be used without modification in bus systems which also contain control devices with subscribers designed according to the prior art, in which transmission time slots and application time periods are strictly specified (backward compatibility). This case may be derived as a special case from the preceding instance, in which the transmission time interval for each subscriber comprises the exact transmission time slots actually required, and the application time interval for each subscriber comprises the exact application time period. By use of this definition, transmission time slots for all subscribers may be specified in a planning phase as described above, provided that all requirements referenced in specifying the function-driven time intervals are satisfied, and these transmission time slots are communicated to the subscribers according to exemplary embodiments of the present invention in an initializing phase. To this end, there must be no changes made to any of the control devices.
Since according to exemplary embodiments of the present invention the interface of a subscriber at the data bus is determined by the subscriber cycle time and the transmission time interval for the subscriber, the introduction of conventions for such an interface facilitates the compatibility of various subscribers with one another as well as the development of suitable scheduling processes. Several conventions are proposed below.
For systematically implementing exemplary embodiments of the present invention it may be advantageous to form classes of subscribers, each of which is characterized by a given subscriber cycle time and a given specification of the transmission time interval within the subscriber cycle interval.
It is advantageous to specify the classes in such a way that the bus bandwidth is well utilized, depending on the number of representatives in a subscriber class and their transmission time requirements. This may be achieved, for example, by selecting the subscriber cycle times for the subscriber classes as binary multiples of a base cycle time, and correspondingly providing the transmission time intervals within the subscriber cycle interval.
These and other specifications used to systematically implement exemplary embodiments of the present invention are accompanied or supported by synchronously starting the subscriber cycle interval for all subscribers represented on a data bus at at least one global synchronization time.
For systematically implementing exemplary embodiments of the present invention it may also be advantageous to specify a fixed ratio of the length of the transmission time interval to the application time interval, i.e., the subscriber cycle interval.
As the result of decoupling transmission times and application times, in principle any subscriber can itself perform the time planning within the particular application time interval (local application scheduling). In the simplest case, the task processing is started at the earliest possible time after the application time interval begins. Alternatively, it may be advantageous to plan the time of task processing for the subscriber so that the task processing ends at the latest possible time before the application time interval ends, i.e., so that a minimum time interval from the application time interval is observed. A minimum time interval between the transmission time interval and application time period could also be achieved by providing, in a manner which differs from a prerequisite established above, a time period between the transmission time interval and the application time interval for a subscriber.
Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.